home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 4 / Gold Medal Software - Volume 4 (Gold Medal) (1994).iso / os2 / lbasic04.arj / DRAW.BAS < prev    next >
BASIC Source File  |  1993-12-30  |  4KB  |  151 lines

  1.  
  2.     'Example drawing program for Liberty BASIC for OS/2
  3.  
  4.     lineThickness$ = "1"
  5.     color$ = "black"
  6.  
  7.     button #1, "red", [colorRed], UL, 5, 5
  8.     button #1, "yellow", [colorYellow], UL, 40, 5
  9.     button #1, "green", [colorGreen], UL, 95, 5
  10.     button #1, "blue", [colorBlue], UL, 143, 5
  11.     button #1, "circle", [setForEllipse], UR, 75, 5
  12.     button #1, "square", [setForBox], UR, 20, 5
  13.     button #1, "line", [setForLine], UR, 125, 5
  14.     button #1, "size", [lineThickness], UR, 165, 5
  15.  
  16.     open "Liberty Draw" for graphics_fs_nsb as #1
  17.     print #1, "when leftButtonDown [startDraw]"
  18.     print #1, "when rightButtonUp [cls]"
  19.     print #1, "down"
  20.     print #1, "color black"
  21.     goto [setForLine]
  22.  
  23. [inputLoop]
  24.     input r$
  25.     goto [inputLoop]
  26.  
  27. [startDraw]
  28.     startX = MouseX
  29.     startY = MouseY
  30.     print #1, "place "; startX; " "; startY
  31.     goto [inputLoop]
  32.  
  33. [firstLine]
  34.     print #1, "when leftButtonMove [trackLine]"
  35.     print #1, "line "; startX; " "; startY; " "; MouseX; " "; MouseY
  36.     oMouseY = MouseY
  37.     oMouseX = MouseX
  38.     goto [inputLoop]
  39.  
  40. [firstFrame]
  41.     print #1, "when leftButtonMove [trackBox]"
  42.     print #1, "box "; MouseX; " "; MouseY
  43.     oMouseY = MouseY
  44.     oMouseX = MouseX
  45.     goto [inputLoop]
  46.  
  47. [trackBox]
  48.     print #1, "color white"
  49.     print #1, "box "; oMouseX; " "; oMouseY
  50.     print #1, "color black"
  51.     print #1, "place "; startX; " "; startY
  52.     print #1, "box "; MouseX; " "; MouseY
  53.     oMouseY = MouseY
  54.     oMouseX = MouseX
  55.     goto [inputLoop]
  56.  
  57. [trackLine]
  58.     print #1, "color white"
  59.     print #1, "line "; startX; " "; startY; " "; oMouseX; " "; oMouseY
  60.     print #1, "color black"
  61.     print #1, "place "; startX; " "; startY
  62.     print #1, "line "; startX; " "; startY; " "; MouseX; " "; MouseY
  63.     oMouseY = MouseY
  64.     oMouseX = MouseX
  65.     goto [inputLoop]
  66.  
  67. [finishLine]
  68.     print #1, "when leftButtonMove [firstLine]"
  69.     print #1, "discard"
  70.     print #1, "color "; color$; " ; line "; startX; " "; startY; " "; MouseX; " "; MouseY
  71.     print #1, "flush ; redraw"
  72.     goto [inputLoop]
  73.  
  74. [finishBox]
  75.     print #1, "when leftButtonMove [firstFrame]"
  76.     print #1, "discard"
  77.     print #1, "color "; color$; " ; boxfilled "; MouseX; " "; MouseY
  78.     print #1, "flush ; redraw"
  79.     goto [inputLoop]
  80.  
  81. [finishEllipse]
  82.     print #1, "when leftButtonMove [firstFrame]"
  83.     print #1, "discard"
  84.     print #1, "place "; int((startX+MouseX)/2); " ";  int((startY+MouseY)/2)
  85.     print #1, "color "; color$; " ; ellipsefilled "; abs(MouseX-startX); " "; abs(MouseY-startY)
  86.     print #1, "flush ; redraw"
  87.     goto [inputLoop]
  88.  
  89. [cls]
  90.     print #1, "cls"
  91.     goto [inputLoop]
  92.  
  93.  
  94. [setForLine]
  95.  
  96.     print #1, "when leftButtonMove [firstLine]"
  97.     print #1, "when leftButtonUp [finishLine]"
  98.     goto [inputLoop]
  99.  
  100. [setForBox]
  101.  
  102.     print #1, "when leftButtonMove [firstFrame]"
  103.     print #1, "when leftButtonUp [finishBox]"
  104.     goto [inputLoop]
  105.  
  106. [setForEllipse]
  107.  
  108.     print #1, "when leftButtonMove [firstFrame]"
  109.     print #1, "when leftButtonUp [finishEllipse]"
  110.     goto [inputLoop]
  111.  
  112.  
  113. [colorRed]
  114.  
  115.     color$ = "red"
  116.     goto [inputLoop]
  117.  
  118.  
  119. [colorYellow]
  120.  
  121.     color$ = "yellow"
  122.     goto [inputLoop]
  123.  
  124.  
  125. [colorGreen]
  126.  
  127.     color$ = "green"
  128.     goto [inputLoop]
  129.  
  130.  
  131. [colorBlue]
  132.  
  133.     color$ = "blue"
  134.     goto [inputLoop]
  135.  
  136.  
  137. [lineThickness]
  138.  
  139.     prompt "Line Thickness"; lineThickness$
  140.     print #1, "size "; lineThickness$
  141.     goto [inputLoop]
  142.  
  143.  
  144. [printIt]
  145.  
  146.     print #1, "print"
  147.     goto [inputLoop]
  148.  
  149.  
  150.     'end of program
  151.     end